home *** CD-ROM | disk | FTP | other *** search
- /*****************************************************************************
- *
- * Program Name: SAMPLE.VAP
- *
- * Filename: sample.c
- *
- * Version: 1.0
- *
- * Programmers: Bryan Sparks
- * API Consulting
- * Novell Inc
- *
- * Files used: sap.c vsetup.asm vsap.lib
- *
- * Comments: This is a sample VAP.
- *
- ****************************************************************************/
- extern int Keyword;
- unsigned ConsoleProcess, FirstProcessID, SecondProcessID;
-
- main()
- {
- int ccode;
- void FirstProcessStart();
- void SecondProcessStart();
-
- VSpawnProcess( FirstProcessStart );
- VSpawnProcess( SecondProcessStart );
-
- /* Notice that I advertise as a NetWare file server. Probably not a */
- /* good idea, but it illustrates the use of the SAP and you can do an */
- /* SLIST to see you VAP. */
- StartSAPOscillationRoutines( "SAMPLE_VAP", 4, 1010 );
-
- ConsoleProcess = VGetProcessID();
- VInitializationComplete();
- while (1) {
- VSleepProcess();
- switch (Keyword) {
- case 0:
- VWakeUpProcess( FirstProcessID );
- break;
- case 1:
- VWakeUpProcess( SecondProcessID );
- break;
- }
- }
-
- }
-
- void FirstProcess()
- {
- FirstProcessID = VGetProcessID();
- VInitializationComplete();
- while (1) {
- VSleepProcess();
- VConsoleError( "First Process is running." );
- }
-
- }
-
- void SecondProcess()
- {
- SecondProcessID = VGetProcessID();
- VInitializationComplete();
- while (1) {
- VSleepProcess();
- VConsoleError( "Second Process is running." );
- }
-
- }
-
- ConsoleHandler()
- {
- VWakeUpProcess( ConsoleProcess );
- return (0);
- }
-
- DownHandler()
- {
- VPrintString( -1, -1, "Sample VAP is down.\n\r", -1 );
- return (0);
- }
-